home *** CD-ROM | disk | FTP | other *** search
/ Language/OS - Multiplatform Resource Library / LANGUAGE OS.iso / a_utils / yacc / flexyacc / aflex.lha / aflex / src / telesoft / command_lineB.ada next >
Text File  |  1991-05-16  |  2KB  |  52 lines

  1. -- Copyright (c) 1990 Regents of the University of California.
  2. -- All rights reserved.
  3. --
  4. -- This software was developed by John Self of the Arcadia project
  5. -- at the University of California, Irvine.
  6. --
  7. -- Redistribution and use in source and binary forms are permitted
  8. -- provided that the above copyright notice and this paragraph are
  9. -- duplicated in all such forms and that any documentation,
  10. -- advertising materials, and other materials related to such
  11. -- distribution and use acknowledge that the software was developed
  12. -- by the University of California, Irvine.  The name of the
  13. -- University may not be used to endorse or promote products derived
  14. -- from this software without specific prior written permission.
  15. -- THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
  16. -- IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
  17. -- WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
  18.  
  19. -- TITLE command line interface
  20. -- AUTHOR: John Self (UCI)
  21. -- DESCRIPTION command line interface body for use with
  22. -- the Telesoft TeleGen2 Sun Ada 1.3a system.
  23. -- NOTES this file is system dependent
  24. -- $Header: /co/ua/self/arcadia/aflex/ada/src/telesoft/RCS/command_lineB.ada,v 1.1 90/01/12 15:13:59 self Exp Locker: self $ 
  25.  
  26. with TSTRING; use TSTRING; 
  27. with SYSTEM; 
  28. package body COMMAND_LINE_INTERFACE is 
  29.  
  30.   procedure INITIALIZE_COMMAND_LINE is 
  31.     POSITION : INTEGER; 
  32.     ARG_LEN  : INTEGER; 
  33.     ARGUMENT : STRING(1 .. 1000); 
  34.  
  35.     function GET_ARGUMENT(PARAMETER_1 : in INTEGER; 
  36.                           PARAMETER_2 : in SYSTEM.ADDRESS) return INTEGER; 
  37.  
  38.     pragma INTERFACE(UNIX, GET_ARGUMENT); 
  39.   begin
  40.     POSITION := 0; 
  41.     loop
  42.       ARG_LEN := GET_ARGUMENT(POSITION, ARGUMENT'ADDRESS); 
  43.       if (ARG_LEN = 0) then 
  44.         exit; 
  45.       end if; 
  46.       ARGV(POSITION) := VSTR(ARGUMENT(1 .. ARG_LEN)); 
  47.       POSITION := POSITION + 1; 
  48.     end loop; 
  49.     ARGC := POSITION; 
  50.   end INITIALIZE_COMMAND_LINE; 
  51. end COMMAND_LINE_INTERFACE; 
  52.